package com.ynet.middleground.contract.bean;

import java.io.Serializable;
import java.util.List;

import javax.validation.constraints.NotBlank;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author liulx
 * @description 新增模板参数信息类
 * @date 2020-03-19 18:20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "新增模板参数信息类", description = "新增模板参数信息")
public class TemplateParamReq implements Serializable {

    private static final long serialVersionUID = -8165060818451646891L;

    /**
     * 参数类型 0：普通文本，1：图片，2：表格
     */
    @ApiModelProperty(value = "参数类型 0：普通文本，1：图片，2：表格，3：合约编号二维码，4：合约编号 默认 0",
        notes = "参数类型 0：普通文本，1：图片，2：表格，3：合约编号二维码，4：合约编号 默认 0", dataType = "String", allowableValues = "0, 1, 2, 3, 4",
        required = true)
    @NotBlank(message = "参数类型不能为空")
    private String type;

    /**
     * 参数名
     */
    @ApiModelProperty(value = "参数名", notes = "参数名", dataType = "String", required = true)
    @NotBlank(message = "参数名不能为空")
    private String paramName;

    /**
     * 描述
     */
    @ApiModelProperty(value = "描述", notes = "描述", dataType = "String")
    private String description;

    /**
     * 图片宽度
     */
    @ApiModelProperty(value = "图片宽度", notes = "图片宽度", dataType = "Integer")
    private Integer width;

    /**
     * 图片高度
     */
    @ApiModelProperty(value = "图片高度", notes = "图片高度", dataType = "Integer")
    private Integer height;

    /**
     * 是否必填 true: 必填，false: 非必填 默认 false
     */
    @ApiModelProperty(value = "是否必填 true: 必填，false: 非必填 默认 false", notes = "是否必填 true: 必填，false: 非必填 默认 false",
        dataType = "boolean")
    private Boolean isRequired;

    /**
     * 表格参数列表
     */
    @ApiModelProperty(value = "对应表格参数列表", notes = "对应表格参数列表")
    private List<TemplateTableParamReq> tableParams;

}
